package space.misiro.ledgers.keycloak.client.model

/**
 * 表示 Keycloak 用户实体模型
 *
 * @property id 用户在 Keycloak 系统中的唯一标识符
 * @property login 用户登录名（用户名）
 * @property password 用户密码凭证（建议加密存储）
 * @property enabled 标识用户账户是否启用的状态标志
 * @property firstName 用户的名称（名）
 * @property lastName 用户的姓氏（姓）
 * @property email 用户的电子邮件地址
 * @property emailVerified 标识用户邮箱是否通过验证的状态标志
 * @property realmRoles 用户在 Keycloak 领域（Realm）中拥有的角色列表，默认空列表
 */
data class KeycloakUser(
    val id: String,
    val login: String,
    val password: String,
    val enabled: Boolean,
    val firstName: String,
    val lastName: String,
    val email: String,
    val emailVerified: Boolean,
    val realmRoles: List<String> = emptyList()
)